// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// [START functions_concepts_stateless]
#include <google/cloud/functions/http_request.h>
#include <google/cloud/functions/http_response.h>
#include <atomic>
#include <string>

namespace gcf = ::google::cloud::functions;

namespace {
std::atomic<int> count{0};
}  // namespace

gcf::HttpResponse concepts_stateless(gcf::HttpRequest /*request*/) {  // NOLINT
  return gcf::HttpResponse{}.set_payload("Instance execution count: " +
                                         std::to_string(++count));
}
// [END functions_concepts_stateless]
